The present invention relates to information retrieval systems, and more particularly, to dynamic processing of search results to be presented to a user in response to a data inquiry.
In our modern, fast-paced society, consumers are increasingly relying upon directory assistance systems instead of conventional telephone books for quick access to directory information and guidance concerning local retail establishments or other popular destinations. Whether by use of landline or mobile telephones, directory assistance systems obviate the inconveniences of physically locating an appropriate telephone book and manually researching through the book to find a desired telephone number to call. Further, directory assistance systems are particularly useful for mobile telephone users seeking to place a telephone call while operating an automobile or otherwise being in transit.
Conventional telephone directory assistance systems operated by local telephone companies have been in place in some format for over a century, before telephones even incorporated dialing mechanisms. In the modern versions of conventional telephone directory assistance, a computerized voice prompts a user to first identify a city and state and then provide a name of a person or a business. If the information can be recognized and identified through speech recognition and/or natural language understanding software, the requested telephone number is provided through a computerized voice. Otherwise, a human telephone operator asks for additional information, such as spelling or a street address, and then performs a database search. While this service is quite useful, it is generally limited to either providing telephone numbers or directly connecting the caller to the requested person or business.
Recently, directory assistance systems, particularly those designed for use with mobile telephones, have incorporated additional features to facilitate searching for other types of information concerning retail business establishments. For example, directory assistance operators can provide information concerning the weather, movie listings, restaurants of a particular cuisine located in the vicinity, etc. These systems have proven to be quite popular. However, their operation requires direct interaction with a human operator, which is expensive.
As speech recognition technology continually improves, applications for utilizing speech recognition for information retrieval systems are becoming a more popular resource for consumers. As an example, xe2x80x9cInfo-by-voice for Atlantaxe2x80x9d is an automated, voice-operated telephone directory that is available to consumers in the metropolitan area surrounding Atlanta, Georgia, who wish to obtain directory assistance information concerning topics such as restaurants, traffic information, stock quotes, weather, sports, and business news. By using this service, a caller provides information in response to a series of questions from a synthesized voice, and then receives a list of names and contact information for businesses matching the desired criteria. For example, if a caller submitted a request for Chinese restaurants, the system might identify five places for the caller to consider. As can be readily seen, an audio information retrieval directory can provide a useful and convenient resource for local and topical information.
Developments in dynamic processing of an index in a database for information retrieval systems are described in U.S. Pat. No. 5,878,423 to Anderson et al., issued Mar. 2, 1999 (xe2x80x9cthe ""423 patentxe2x80x9d), which is incorporated herein by reference. The ""423 patent discloses a method and system for dynamically processing an index to create a set of questions used when processing a data query. An index is a guide that is processed and used to find information from within a database, such as a database of classified advertising information. The set of questions are arranged according to a question set order associated with the index, and the set of questions only includes those questions that trigger responses that are found within the index.
While information retrieval systems such as those described in the ""423 patent have become more efficient in processing data inquiries and retrieving database information, there are several difficulties that are often encountered when supplying the information to a caller. Even if a caller is fully concentrating on the telephone call, it is difficult for the caller to retain more than limited amounts of the information that was provided orally by the information retrieval system. If the system provides as output a list of several business names that match the caller""s request, confusion is created as the caller attempts to remember all of the information. Considering that callers typically access such systems while operating a motor vehicle or are otherwise in transit, there is a need to quickly and efficiently communicate the most pertinent information to the user. Accordingly, there is a need for a system and method of formatting the results generated by an information retrieval system to provide usable and easily discernable information.
The present invention is directed to an information retrieval system that dynamically prioritizes search request results prior to an output to a user, thereby providing guidance to the user. When a database search yields multiple hits that are collectively too numerous to present the user, the results are organized into groupings pertaining to a category to be selected from a plurality of categories. Each possible category relates to a different aspect that differentiates between the search results, such as geographical location, hours of operation, amenities, etc. The available categories are ranked according to a default priority. The system selects a category that is of the highest priority and will provide a reasonable distribution of the search results. Once the category is determined, the search results are then divided into groups corresponding to the category. The groups within each category are criteria associated with the category. For example, if the category is xe2x80x9cgeographical location,xe2x80x9d the groups in the category are likely to be different geographical locations, and the search results are therefore divided and grouped according to their respective geographical locations. The user can choose to receive the search results in the group that is of most interest. The user also has an option to reconfigure the output according to a different category.
When a user places a call into the information retrieval system, a series of questions are presented to the user, and responses are solicited and interpreted through voice recognition and/or natural language understanding software to process an information request. The system performs a search request in the database based upon the recognized responses to the presented questions. If the number of hits from the search request is too large to be easily comprehended by the caller, the system continues to prompt the user for more responses in order to narrow the search. Upon fielding a reasonable number of search results, the system determines whether all of the search results should be reported to the user. If there is only a small number of search results, these are output to the user.
When there is more than a predetermined number of useful search results, the system then selects a category by which the output can be organized. The possible categories are weighted or prioritized in an order according to the category that is likely to be of the most significance to the user and provides an acceptable result distribution. The results are then divided into groups pertaining to the highest priority category. The names of the groups are then provided to the user, and the user selects a group in the category.
If the number of search results in the selected group is too numerous to be easily presented to the user, the system can then select another category, and divide the search results from the selected group further into new groups corresponding to the next selected category. This process is repeated until the search results in a selected group are of a reasonable number that can be presented to the user.
It is the object of the present invention to provide a method for selectively presenting output from a database search in a database system. The information retrieval system generates a list of categories by which a plurality of database search results can be sorted, wherein each category includes a plurality of groups, and each of the plurality of database search results is associated with one of the groups in each category. A default priority is assigned for each of the categories. The system receives an unsorted list of database search results, selects a category from the list of categories having the highest default priority, and sorts the search results into the respective groups associated with the selected category. In an alternative embodiment, the method according to the present invention eliminates categories from the list of categories in which all of the search results in the unsorted list of database search results would be sorted into the same group.
It is another object of the present invention to provide an information retrieval system for providing information about a plurality of items of interest in response to a search request. A database records unit stores a plurality of information about a plurality of items of interest. A question generator table generates a set of questions to prompt a user to provide search request parameters for searching the database records unit. A database search engine searches the database records unit according to a search request. A categories generator table generates a list of categories by which search results from the database records unit can be sorted by criteria associated with each category. The search results are output in a format sorted according to criteria in a category selected from the list of categories.
The present invention is also directed to a method for sorting search results according to geographical regions within the local geographical area, in an information retrieval system for providing information in response to search requests for businesses or other places of interest in a local geographical area. A list of geographical regions in a local geographical area are stored in a first database. The search results are then grouped according to the geographical region from the list of geographical regions that corresponds to a geographical location associated with each of the search results.
The present invention is further directed to a method for sorting search results into groups according to a category selected from a plurality of categories, in an information retrieval system for providing information in response to search requests for businesses or other places of interest in a local geographical area. A list of categories by which a plurality of search results can be sorted is stored, wherein each category is associated with at least one type of business or place of interest. The system determines a type of business or place of interest associated with each of the search results. A grouping of categories is generated from the list of categories that are associated with the same type of business or place of interest as the search results. A category is then selected from the grouping of categories, and the search results are sorted into groups associated with the selected category.